/**
 * Copyright 2010 Powersi. All rights reserved.
 * 
 */
package com.powersi.hygeia.framework.jdbclogger.oracle10g;

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a
 * copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 */
import java.sql.SQLException;

import oracle.jdbc.OracleResultSetCache;
import oracle.jdbc.dcn.DatabaseChangeRegistration;
import oracle.jdbc.internal.OracleStatement;

import com.powersi.hygeia.framework.jdbclogger.StatementWrapper;

/**
 * The Class OracleStatementWrapper.
 * 
 */
public class OracleStatementWrapper extends StatementWrapper implements oracle.jdbc.internal.OracleStatement {

    /** The _oracle statement. */
    private OracleStatement _oracleStatement;

    /**
     * Instantiates a new oracle statement wrapper.
     * 
     * @param statement
     *            the statement
     */
    public OracleStatementWrapper(OracleStatement statement) {
        super(statement);

        _oracleStatement = statement;
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.internal.OracleStatement#setFixedString(boolean)
     */
    public void setFixedString(boolean b) {
        _oracleStatement.setFixedString(b);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.internal.OracleStatement#getFixedString()
     */
    public boolean getFixedString() {
        return _oracleStatement.getFixedString();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.internal.OracleStatement#sendBatch()
     */
    public int sendBatch() throws SQLException {
        return _oracleStatement.sendBatch();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.internal.OracleStatement#getserverCursor()
     */
    public boolean getserverCursor() {
        return _oracleStatement.getserverCursor();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.internal.OracleStatement#getcacheState()
     */
    public int getcacheState() {
        return _oracleStatement.getcacheState();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.internal.OracleStatement#getstatementType()
     */
    public int getstatementType() {
        return _oracleStatement.getstatementType();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#clearDefines()
     */
    public void clearDefines() throws SQLException {
        _oracleStatement.clearDefines();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#defineColumnType(int, int)
     */
    public void defineColumnType(int i, int i1) throws SQLException {
        _oracleStatement.defineColumnType(i, i1);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#defineColumnType(int, int, int)
     */
    public void defineColumnType(int i, int i1, int i2) throws SQLException {
        _oracleStatement.defineColumnType(i, i1, i2);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#defineColumnType(int, int, int, short)
     */
    public void defineColumnType(int i, int i1, int i2, short i3) throws SQLException {
        _oracleStatement.defineColumnType(i, i1, i2, i3);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#defineColumnTypeBytes(int, int, int)
     */
    public void defineColumnTypeBytes(int i, int i1, int i2) throws SQLException {
        _oracleStatement.defineColumnTypeBytes(i, i1, i2);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#defineColumnTypeChars(int, int, int)
     */
    public void defineColumnTypeChars(int i, int i1, int i2) throws SQLException {
        _oracleStatement.defineColumnTypeChars(i, i1, i2);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#defineColumnType(int, int, java.lang.String)
     */
    public void defineColumnType(int i, int i1, String s) throws SQLException {
        _oracleStatement.defineColumnType(i, i1, s);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#getRowPrefetch()
     */
    public int getRowPrefetch() {
        return _oracleStatement.getRowPrefetch();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#setResultSetCache(oracle.jdbc.OracleResultSetCache)
     */
    public void setResultSetCache(OracleResultSetCache oracleResultSetCache) throws SQLException {
        _oracleStatement.setResultSetCache(oracleResultSetCache);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#setRowPrefetch(int)
     */
    public void setRowPrefetch(int i) throws SQLException {
        _oracleStatement.setRowPrefetch(i);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#closeWithKey(java.lang.String)
     */
    public void closeWithKey(String s) throws SQLException {
        _oracleStatement.closeWithKey(s);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#creationState()
     */
    @SuppressWarnings("deprecation")
    public int creationState() {
        return _oracleStatement.creationState();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#isNCHAR(int)
     */
    public boolean isNCHAR(int i) throws SQLException {
        return _oracleStatement.isNCHAR(i);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#getRegisteredQueryId()
     */
    public long getRegisteredQueryId() throws SQLException {
        return _oracleStatement.getRegisteredQueryId();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#getRegisteredTableNames()
     */
    public String[] getRegisteredTableNames() throws SQLException {
        return _oracleStatement.getRegisteredTableNames();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#setDatabaseChangeRegistration(oracle.jdbc.dcn.DatabaseChangeRegistration)
     */
    public void setDatabaseChangeRegistration(DatabaseChangeRegistration arg0) throws SQLException {
        _oracleStatement.setDatabaseChangeRegistration(arg0);
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#getLobPrefetchSize()
     */
    public int getLobPrefetchSize() {
        return _oracleStatement.getLobPrefetchSize();
    }

    /* (non-Javadoc)
     * @see oracle.jdbc.OracleStatement#setLobPrefetchSize(int)
     */
    public void setLobPrefetchSize(int arg0) throws SQLException {
        _oracleStatement.setLobPrefetchSize(arg0);
    }
}
